package com.sport.common.util;

import java.sql.Date;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Author: Lai
 * @Describe: 时间工具类
 *              对localDate和LocalDateTime进行一些必要的格式转换
 */

public class TimeUtil {

    public static String parseDate2Str(LocalDateTime localDateTime){
        String dateStart = String.valueOf(localDateTime);
        String seconds = dateStart.substring(17, dateStart.length());
        int second = (int)Math.round(Double.parseDouble(seconds));
        dateStart = dateStart.substring(0,17)+String.valueOf(second);
        System.out.println("dateStart:"+dateStart);
        return dateStart;
    }

    //对LocalDate格式进行转化成常用的格式
    // 比如：2021-12-07 --> 2021年12月07日
    public static String parseDateAddYMR(LocalDate localDate){
        String[] date = String.valueOf(localDate).split("-");
        return date[0]+"年"+date[1]+"月"+date[2]+"日";
    }

    // 将"2021-12-07"转化为数据库的Date格式
    public static Date string2SqlDate(String dateStr){
        String[] dates = dateStr.split("-");
        Date date = new Date(Integer.parseInt(dates[0])-1900,Integer.parseInt(dates[1])-1,Integer.parseInt(dates[2]));
        return date;
    }

    // 将"21:21:59"转化为数据库的Time格式
    public static Time string2SqlTime(String timeStr){
        String[] times = timeStr.split(":");
        Time time = new Time(Integer.parseInt(times[0]),Integer.parseInt(times[1]),Integer.parseInt(times[2]));
        return time;
    }

    // 获取现在的时间 Time格式
    public static Time getNowTime(){
        Date d = new Date(System.currentTimeMillis());
        SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = sbf.format(d);
        String[] dateAndTime = format.split(" ");
//        System.out.println(dateAndTime);
        Time nowTime = TimeUtil.string2SqlTime(dateAndTime[1]);
        return nowTime;
    }

}
